System, device, and method of navigation in tracks

ABSTRACT

Devices, systems, and methods of navigation in tracks and trails. A system includes a smartphone or other portable electronic device. The system generates and provides navigation data and mapping data to travelers, particularly in walking trails; and generates a video clip or other multimedia presentation that incorporates trip data, images, audio, and a reconstructed map of the route. An administrator or operator of a nature center or an attraction or other venue, operates the system to obtain real-time information about travelers within the venue, and to selectively provide data and messages to some or all of such travelers.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a Continuation of U.S. Ser. No. 16/301,741,filed on Nov. 15, 2018, which is hereby incorporated by reference; whichis a National Stage of PCT international application numberPCT/IL2017/050590, having an international filing date of May 28, 2017,published as international publication number WO 2017/212472 A1, whichis hereby incorporated by reference; which claims priority and benefitfrom U.S. 62/345,870, filed on Jun. 6, 2016, which is herebyincorporated by reference.

FIELD

Some embodiments relate to the field of electronic devices andcomputerized systems for navigation.

BACKGROUND

Electronic devices are utilized for various purposes. For example, usersoften utilize smartphones, tablets, laptop computers, and othercomputing devices in order to browse the Internet, consume audio contentand video content, play games, perform word processing tasks, send andreceive electronic mail, engage in video conference and instantmessaging, and perform other computerized tasks.

Many users utilize a smartphone in order to operate a navigationapplication, which may provide to the user a graphical image of a streetmap of a city, and may also provide to the user turn-by-turn directionsfor driving with a vehicle from a first location to a second location.

SUMMARY

Some embodiments of the present invention comprise devices, systems, andmethods of navigation in tracks and trails, and of generating andproviding navigation data to travelers, particularly in walking trails.The present invention further enables an administrator or operator of avenue (e.g., a Nature Center), to obtain real-time information abouttravelers within the venue, and to selectively provide data and messagesto some or all of such travelers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block-diagram illustration of a system, inaccordance with some demonstrative embodiments of the present invention.

FIG. 2 is a schematic block-diagram illustration of server, inaccordance with some demonstrative embodiments of the present invention.

FIG. 3 is a schematic block-diagram illustration of an end-user device,in accordance with some demonstrative embodiments of the presentinvention.

FIG. 4 is a schematic block-diagram illustration of AdditionalMapping/Navigation Units, in accordance with some demonstrativeembodiments of the present invention.

FIGS. 5A-5B are schematic illustrations demonstrating the operations andfeatures of the system when utilized by a business user, such asadministrator of a venue, in accordance with some demonstrativeembodiments of the present invention.

FIGS. 6A-6C are schematic illustrations demonstrating the operations andfeatures of the system when utilized by an end-user, such as a travelercarrying a portable electronic device, in accordance with somedemonstrative embodiments of the present invention.

FIG. 7 is a schematic illustration of a crowdedness map, generated inaccordance with some demonstrative embodiments of the present invention.

FIG. 8 is a schematic illustration of three mapping and navigationpanels, generated by some demonstrative embodiments of the presentinvention.

DETAILED DESCRIPTION OF SOME DEMONSTRATIVE EMBODIMENTS

The Applicants have realized that conventional navigation systems andmapping systems may operate adequately in an urban area havingwell-mapped and formally-defined streets and roads.

The Applicants have realized that conventional navigation systems andmapping systems often fail to adequately operate in non-urban areas,such as when the user attempts to hike or walk in a non-urban area froma first point to a second point, or a long a hiking trail that may notbe formally defined or may not be well defined in conventionalstreet-maps or driving-maps.

The Applicants have realized that conventional navigation systems andmapping systems often fail to address the particular interests, needs,and/or characteristics of a user who does not drive a car from Point Ato Point B, but rather, walks or hikes or rides a bicycle among two ormore points, or along one or more tracks in non-urban or non-mappedareas.

The present invention may comprise systems, devices, and methods toenable efficient mapping and/or navigation for users who walk, hike,run, ride a bicycle, or otherwise transport themselves in non-vehicularmanner, from Point A (origin point or source point) to Point B(destination point or target source), or among multiple points or “triplegs”, or along one or more trails or tracks, particularly in non-urbanareas that are characterized by lack of streets, lack of vehicularroads, lack of street names, lack of road names or road numbers, and/orother characteristics of nature (e.g., within a forest, around a lake orbody of water, across or along a river, within a desert or canyon, invalleys or mountains, or the like).

Although portions of the discussion herein may relate, for demonstrativepurposes, to navigation or mapping in non-urban areas or rural areas orremote areas or nature-based areas, the present invention is not limitedin this regard, and may be utilized in various other types of areas orregions or terrains, including, for example, in urban areas, in citiesor towns, in suburbs, in areas that may have formally-named streets orroads but may not necessarily have formally-defined tracks or walkingtrails or hiking routes, and/or in other suitable areas or regions whichmay be urban and/or non-urban.

Reference is made to FIG. 1 , which is a schematic block-diagramillustration of a system 100 in accordance with some demonstrativeembodiments of the present invention. System 100 may comprise a server110, able to communicate with one or more end-user devices 101-104.

Server 110 may be or may comprise a computer, a web server, anapplication server, a “cloud computing” server or device, or othersuitable computing element or device. Server 110 may dynamicallygenerate and/or serve and/or provide to end-user devices 101-104 mappinginformation, navigation information, navigation data, turn-by-turndirections, step-by-step directions, information about attractions orsightseeing, weather information, alerts and notifications, or the like.In some embodiments, some, or most, or all of the computations and/ordata that are performed, may be stored and/or performed in such remote“cloud” server or repository; or, may be divided between a local device(e.g., end-user smartphone) and a remote server; or may be implementedusing other architecture (e.g., peer-to-peer network; many-to-manycommunications, particularly among multiple travelers in the samevenue).

End-user devices 101-104 may be or may comprise any suitable electronicdevice, typically a portable or a mobile device able to communicate withserver 110 over one or more wireless communication links or channels ornetworks. For example, end-user device 101 may be a smartphone; end-userdevice 102 may be a tablet; end-user device 103 may be a smart-watch;end-user device 104 may be an Augmented Reality (AR) device (e.g.,similar to Google Glass®, or other wearable device or helmet or glassesor head-set or head-gear). Other suitable end-user devices may be used,such as, a camera or imager or image-capturing device or video-capturingdevice (e.g., similar to .GoPro Hero devices), a drone orremote-controlled aircraft or miniature aircraft or other airbornedevice, or the like.

Reference is made to FIG. 2 , which is a schematic block-diagramillustration of server 110 in accordance with some demonstrativeembodiments of the present invention. Server 110 may comprise, or may beassociated with, for example: a processor 111; a memory unit 112; astorage unit 113; a cellular transceiver 114; a wireless communicationtransceiver 115 (e.g., Wi-Fi transceiver); an input unit 116 (e.g.,keyboard, mouse, touch-pad); an output unit 117 (e.g., display, screen,monitor); and/or other suitable hardware units and/or software units.

Server 110 may further comprise, or may be associated with, for example:a maps database 121 storing map data; a navigation module 122 able tocalculate and/or generate navigation data from Point A to Point B; aturn-by-turn directions generator 123 able to generate turn-by-turndirections for navigating from Point A to Point B; a user database 124to store data of users (e.g., name, username, password) and/or currentdata of users (e.g., current location, current velocity) and/or historicdata of users (e.g., previous locations, previous velocities); and aserver-side mapping/navigation application 171.

Server 110 may be implemented, for example, by using multiple co-locatedservers or computers or database, or by using multiple servers orcomputers or databases that may be remote from each other, ordistributed over multiple locations. Server 110 may optionally beimplemented, for example, by utilizing: a search engine or Web spider orWeb crawler; a database or storage unit; a batch server able to handlenon-real-time CPU outbound operations; a process server able to handlereal-time CPU outbound operations; a logistics server able to handle I/Obound operations; a mapping server or maps server (e.g., able togenerate or handle tiles, vectors, raster layers); a maps gate server(e.g., proxy for maps and geographical information); a gate server(e.g., handling communications between all users and all other servers);a messaging server or “push” notifications server or unit; anapplication server; a Web server; a monetary operation server able toperform electronic monetary operations (e.g., collection, billing,charging) in some implementations that collect fees from users or frombusiness users; a load balancing unit, switch, hub, or other routing orre-routing component or network element(s); and/or other suitablehardware units and/or software units.

Some embodiments may be implemented, for example, by utilizing one ormore Application Servers, e.g., Client API server; a “Live” server thathandles all live data or real-time data; a Media server that handleuploading and/or downloading of media; a Business client API server; aSynchronized processing server; an Asynchronized processing server, anda server or controller that controls it; a Movie Production server toproduce a user-tailored and/or trip-tailored movie or audio/video clipor presentation; as well as local and/or remote database and/or storageunits (e.g., PostgreSql, MongoDb, AWS S3); as well as InfrastructureServers, e.g., a Map tile server, an Open Source Routing Machine (OSRM)server or other routing server; a querying data server or a queryingOpen StreetMap (OSM) data server; a GeoCoding server; a Central logserver; and/or other suitable units.

Reference is made to FIG. 3 , which is a schematic block-diagramillustration of end-user device 101 in accordance with somedemonstrative embodiments of the present invention. End-user device 101may comprise, for example: a processor 151 or CPU or DSP or othersuitable controller; a memory unit 152; a storage unit 153; a cellulartransceiver 154; a wireless communication transceiver 155 (e.g., Wi-Fitransceiver); an input unit 156 (e.g., a touch-screen, a microphone, anon-screen-keyboard, an on-screen keypad); an output unit 157 (e.g.,display, screen, touch-screen, audio speakers); a Global PositioningSystem (GPS) receiver or unit or element 158 (or other suitablegeo-location element or unit, or location-finding unit or element); acamera 159 or imager able to capture photographs and/or video clips; aclient-side mapping/navigation application 172; and/or other suitablehardware units and/or software units. The end-user device 101 maycomprise, and the system may utilize, other suitable hardware unitsand/or software modules; for example, one or more geo-location sensors,barometers, accelerometers, gyroscopes, device orientation sensors,device positioning sensors, temperature sensors, or the like.

In accordance with the present invention, end-user device 101, and/orserver 110, may optionally comprise one or more AdditionalMapping/Navigation Units 200, which may comprise one or more of theunits or modules that are described herein; and which may be implementedas client-side features or units, as server-side features or units, oras hybrid client-server features or units which may operate byinteraction(s) between server 110 and end-user device 101.

Reference is made to FIG. 4 , which is a schematic block-diagramillustration of Additional Mapping/Navigation Units 200, in accordancewith some demonstrative embodiments of the present invention.

Track Completion Unit 201 may include a unit or module able to analyzecurrent user data and historic user data, of a particular end-userdevice, in order to determine or estimate or deduce therefrom, aroute-segment or trip-segment or track-segment that is missing from analready-performed or partially-performed or currently-performed track ortrip; and in order to generate a graphical representation or image oron-screen route that corresponds to such estimated missing segment. Forexample, user Adam may hike by foot from Point A to Point B within adense forest, in which GPS reception may not exist or may be blocked ormay be partially blocked. End-user device 101 of user Adam may have GPSreception at Point A, and may have GPS reception at point B, but may nothave GPS reception at all between these points; or may have partial ortemporary GPS reception at Point K in between.

A conventional mapping system, if requested to map the route that theuser walked from Point A to Point B, may draw a straight line betweenPoint A to Point B; or may draw a first line from Point A to point K,and a second line from Point K to Point B.

In contrast, the Track Completion Unit 201 may deduce or determine orestimate non-straight line(s), or curved line(s), or a set of lines orsegments (e.g., a zig-zag shaped segment) that match the actual hikingroute segment that user Adam has actually walked from Point A to PointB, even though there was no GPS reception and/or no other geo-locationservice for end-user device 101 of user Adam along that route (in wholeor in part). For example, Track Completion Unit 201 may review currentand/or historic location-based data of other users that moved or hikedfrom Point A to Point B, and which may have part or full GPS dataassociated with them (or with segments of such other trips). TrackCompletion Unit 201 may thus determine that the actual hiking trail thatsome or most or all hikers take, when they walk from Point A to Point B,is a semi-circle or a particular curve or trail. Accordingly, when userAdam requests from his end-user device to display a map of hiscurrently-walked trip-segment or his previously-walked trip-segment fromPoint A to Point B, the Track Completion Unit 201 may determine and maydisplay that semi-circle or curved trail that was walked or wasindicated by other users that traveled from Point A to Point B, eventhough the end-user device 101 and/or the server 110 do not actuallyknow the actual GPS locations that user Adam has actually walked, due tolack of GPS reception and/or partial GPS reception (or lack of othergeo-location data) that end-user device 101 suffered from while being onthat trip-segment.

The above method may be implemented on multiple trip-segments, with fineresolution based on actual points in which the end-user device 101 didhave GPS reception along that route. For example, if along the walkingtrip from Point A to Point B, the end-user device had GPS reception atPoints A and B as well as at points K and L along the way, then theabove method may be implemented to estimate: a curved or non-linearactual trail walked from Point A to Point K; then, a curved ornon-linear actual trail walked from Point K to Point L; then, a curvedor non-linear actual trail walked from Point L to Point B.

In some embodiments, the Track Completion Unit 201 may take into accountone or more user-specific data in order to estimate the missing tripsegment, or in order to select among two or more possible estimated tripsegments from Point A to Point B. For example, Track Completion Unit 201may determine, based on map analysis and/or based on hiking history ofother hikers, that users may walk from Point A to Point B, either viathe Yellow Trail which is semi-circle and extends for 2 kilometers; orvia the Red Trail which is a zigzag line that extends for 5 kilometers.Track Completion Unit 201 may then analyze characteristics of themovement of user Adam, prior to his walking from Point A to Point B, orsubsequent to his walking from Point A to Point B; and may determinethat user Adam typically walks at a speed of approximately 2.1kilometers per hour. Track Completion Unit 201 may further determinethat user Adam took 58 minutes to move from Point A to Point B. Based onmultiplication of velocity by time, to result in distance traveled,Track Completion Unit 201 may determine that, most probably, due to thetime that elapsed and the typical speed of user Adam, he took the YellowTrack and not the Red Trail; and Track Completion Unit 201 mayaccordingly show to user Adam a completed trip-segment that correspondsto the semi-circular Yellow Trail, and not to the zigzag Red Trail.

In some embodiments, Track Completion Unit 201 may also take intoaccount, in order to determine the estimate trail or trip-segment thatwas actually walked or used by user Adam, other suitable information;for example, analysis of historical trails that user Adam had walked inthe past (e.g., identifying that user Adam always prefers to take theLonger route among two possible routes, and not the shortest routes; oridentifying that user Adam typically prefers to take a trail thatfollows a river or a body-of-water and not an in-land trail).Optionally, Track Completion Unit 201 may perform and/or may take intoaccount a contextual analysis of messages that user Adam sent before orafter or during his trip (e.g., “I am excited to go on the Yellow Trailsoon!”), or that user Adam received before or after or during his trip(e.g., “Adam, did you finish walking the Yellow Trail?”), and/or othercontextual analysis that user Adam performed via his end-user device 101(e.g., taking into account that user Adam searched on his smartphone“length of Yellow Trail”, and did not search on his smartphone for “RedTrail”). Other suitable data may be used by Track Completion Unit 201.

Data Encoder/Decoder Unit 202 may run on end-user device 101 and/or onserver 110, and may enable efficient and/or low-band and/or reducedbandwidth wireless communication, as well as reduced-power wirelesscommunication.

The Applicants have realized that end-user devices typically transmit toremote servers, continuously and/or at very short time intervals (e.g.,every second), a full set of complete data-items; and the wirelesstransmission of such full and complete data items consumes significantamount of power, which is typically limited in a portable end-userdevice, and which may not be readily replenished or recharged when theuser is hiking or traveling in remote locations. Accordingly, theApplicants have realized that it may be beneficial and important topreserve battery power; and that this may be achieved by encoding orcompressing or cropping or otherwise modifying one or more data-itemsthat are transmitted by the end-user device 101 to server 110, and orthat are received wireless in the opposite direction (received byend-user device 101 from server 110).

The Applicants have further realized that the transmission, reception,handling, and/or storing of full and complete data-items with regard touser location and user characteristics (e.g., velocity), may entailprivacy risks, privacy concern, security risks, security concerns, datastorage burdens, and/or other problems or disadvantages.

For example, Data Encoder/Decoder Unit 202 may initially send (orreceive) a full longitude data-item (e.g., “35.2519641”) and/or a fulllatitude data-item (e.g., “−112.1890153”). Then, at pre-defined timeintervals (e.g., every second, every 5 seconds, every 10 or 30 seconds,every minute, every N seconds or minutes, or the like), the DataEncoder/Decoder Unit 202 may send (or may receive): (a) only theleast-significant digits of each data-item (e.g., the K right-mostdigits), or a cropped or concatenated version of the data-item; and/or(b) a difference or “delta portion” or offset, between the most-recentlocation and the current location. This may enable the DataEncoder/Decoder Unit 202 to send (or receive) by utilizing lessbandwidth and/or less packets and/or less time and/or while consumingless transmission power and/or while consuming less reception power. Onthe other side, such as at server 110, a similar Data Encoder/DecoderUnit 202 may utilize the received data, and based on previously-receiveddata it may re-construct or calculate the full data-item of the currentlocation.

Similar concatenation of data, or sending of offset or differences only,may be performed with regard to other data that is sent and/or received;for example, with regard to altitude data, velocity data (speed value,speed direction), time data, date data, time-and-date data, accelerationdata, deceleration data, and/or other suitable data. In someembodiments, a space-saving controller module may selectively activateand de-activate the process of shortening or truncating or encodingdata-items or location-based data-items or GPS data-items; based on oneor more parameters which may be hard-coded or may be pre-configured ormay be dynamically modified or may be otherwise triggered by occurringconditions; for example, such data truncation or encoding may commenceif, or may be performed as long as, the power level of the end-userdevice is below a threshold value (e.g., below K percent of fullcapacity, wherein K is, for example, 50 or 40 or 33 or 25 or 15), and/oronly if the system determines or estimates that the end-user istravelling by a particular transportation mode (e.g., walking by foot;and not driving by car), or the like. In some embodiments, once per Nseconds (e.g., once per 60 or 120 seconds), or at pre-defined timeintervals, the end-user device sends non-truncated or non-encoded ornon-shortened location-based data, in order to ensure that at least onceper N seconds the remote server receives full location-based data andre-calibrates its offset point or its baseline point for receivingfurther encoded data.

The space-saving data may be transmitted to and/or received from server110, or may be transmitted to and/or received from end-user device 101.The space-saving data may be stored locally in a shortened space-savingformat within end-user device 101 (e.g., to save local storage space,which may be limited in a portable device) and/or within server 110(e.g., to save on storage space, since server 110 may need to storehistoric data regarding millions of users).

In some embodiments, a lookup-table or other pre-defined legend may beutilized, in order to indicate by one device to another device (e.g., byend-user device 101 to server 110, or by server 110 to end-user device101), which space-saving method is utilized, or which data-replacementmethod is utilized, or which data reconstruction method should be usedby the other device in order to reconstruct full data items; or whichlevel of resolution or granularity is utilized for certain data-items(e.g., to indicate level of accuracy of GPS data).

The space-saving format and data-exchange method, may further enableincreased privacy and/or increased security for users of the presentinvention. For example, an attacker that eavesdrops on somecommunications, may only obtain from them the “offset” distance of theuser from his previous location, and may not be able to determine theactual location of that user merely based on such offset, without alsoknowing or obtaining the original full data-item that such offset or“delta” value relates to.

Trail Analysis Unit 203 may perform analysis of data pertaining to tripdata, in order to determine the route segment that was actually walkedor traveled by a particular user or by a group of users (e.g.,non-related to each other, at different times), and/or in order todetermine or deduce or estimate an existence of a trail in real-life atcertain geo-locations. For example, trip data of multiple users may beconverted into mathematical representations and/or equations and/orpolynomials and/or formulae, which may then be researched or analyzedvia mathematical and/or probabilistic and/or statistical methods by theTrail Analysis Unit 203 in order to reach such determinations orestimations, and/or in order to determine junctions, intersections,curvature of trip segments or routes or trails, determining that tworelatively-close or relatively-proximate trip segments of user Adam anduser Bob are actually a single, unified, trail in real life. Forexample, user Adam may walk from on the right shoulder of the YellowTrail; user Bob may walk on the left shoulder of the Yellow Trail, whichmay be 3 or 4 meters away, and generally parallel to, the rightshoulder; and the Trail Analysis Unit 203 may determine, that eventhough user Adam walked on two slightly-different paths, based on theirproximity to each other, and based on their being parallel to each otheralong some or most segments, the two paths that were walked by Adam andBob are actually a single, unified, trail that is common to both ofthese users, and should be mapped or deduced as a single unified ormerged or fused trail or track, and not as two different trails. Thismay enable the system to generate a single, unified, walking trail,which may reflect dozens or even hundreds of slightly-varying real-lifewalking trails. In some embodiments, the system may be able to detectand to discard a Trail Deviation that is not part of the unified trail;for example, 9 different travelers may walk separately along the RedTrail, generally following the same trail; but one of them may deviatefrom the trail for a limited period of time (e.g., for less than Mseconds, wherein M is for example 10 or 30 or 60 seconds, or otherthreshold value), for example, in order to drink water from a watermachine or in order to take a photograph of a rare bird; the system mayanalyze the location-based data, and may detect that this deviation is aminimal deviation of a particular traveler which does not reflect theactual trail (or route) that is being mapped, and that the actual trailor route should not reflect that minor walking deviation; therebygenerating a correct trail without said deviation, and therebypreventing a possible misleading of other walkers if they rely on awalking trail that includes such undesired deviation from the trail.

In some embodiments, the Trail Analysis Unit 203 may analyze the senseddata and may further utilize user-specific information that is knownabout the specific user, based on user-provided information (e.g., theuser indicating in her profile that the user is disabled; or the userindicating in his profile that the user is an Extreme Sportsenthusiastic), in order to determine or estimate which trail or routewas actually taken by that specific user in order to move from Point Ato Point B. For example, user Adam may indicate in his profile, thatuser Adam is disabled or that user Adam requires wheelchairaccommodation; the Trail Analysis Unit 203 may determine that user Adamhas moved from being at the Waterfall (at time 2:27 pm) to being at theCliff (at time 2:45 pm); the Trail Analysis Unit 203 may furtherdetermine that there are two possible trails or routes that connect theWaterfall with the Cliff: the Red trail which is difficult andchallenging and typically cannot be used by disabled persons, or theYellow trail which is easier and is disabled-friendly; and based on thedetermination that user Adam is disabled (e.g., as defined or indicatedin the user profile), the Trail Analysis Unit 203 may thus determinethat user Adam actually took the Yellow trail and not the Red trail; andthis may further be reflected in the Trail Map that is generated forthat trip, or for the movie clip that is generated for that trip.

Additionally or alternatively, the system may be able to perform suchdetermination, even if user Adam did not explicitly indicate in hisprofile that user Adam is disabled; but rather, based on autonomousanalysis of historical data pertaining to previous trips and trails thatuser Adam had taken. For example, the system may analyze such historicaldata and may detect that in at least K percent of the previous trips ofuser Adam (e.g., where K is, for example, 50 or 51 or 75 or otherpre-configured threshold value), user Adam had taken a disabled-friendlyroute and not an Extreme Sports route; and/or the system may determinethat in the past, whenever there was a choice between a difficult trailand an easy trail, user Adam had selected to take the easier trail; andbased on such determination, the system may deduce or determine thatalso in the presently-analyzed trip or trail, user Adam took thedisabled-friendly trail and not the Extreme Sports trail

Similarly, user Bob may be an Extreme Sports fan, and may indicate suchinformation in his user profile; thereby enabling the system todetermine, for a particular trip in which it is unknown whether user Bobtook a difficult trail or an easy trail, that user Bob took thedifficult trail based on such user-specific indication in the userprofile, and/or based on analysis of prior trips of user Bob thatindicate that user Bob had always selected the more-difficult trail whensuch choice was available to him in prior trips at other locations.

The system may comprise a Trail Characteristic Estimator unit or module,to deduce or to estimate one or more features of a particular trail orroute, based on one or more current or historical features or a user (ora set of users) that hiked or traveled or visited that trail or route.For example, the Trail Characteristic Estimator may analyze thelocation-based data of users, and may notice that user Adam visited thePurple Trail; and may further determine that user Adam had visited inthe past only trails that are disabled-friendly (e.g., trails that areaccommodating for disabled persons), or may detect that user Adam hadmentioned in his user profile that he is disabled, or that he isinterested in disabled-friendly trips or routes or trails. Based on thisinformation about the hiker Adam, the Trail Characteristic Estimator maydetermine that the Purple Trail that was recently (or currently) hikedby Adam, or that a new, previously-unknown (or even un-named) trailcurrently or recently visited by Adam, is most-probably adisabled-friendly trail or route; and the system may utilize a TaggingModule to tag that particular trail or route as Disabled Friendly, basedon the hike of user Adam in that route. Similarly, the tagging may bebased on data collected from a group of users; for example, indicatingthat several disabled users have visited the Pink Trail, therebyenabling the Trail Characteristic Estimator to determine that the PinkTrail is accommodating for disabled persons, and enabling the TaggingModule to tag the Pink Trail as a Disabled-Friendly trail. The systemmay further enable to user Carl, to search or to filter only for trailsor routes that were already defined or tagged by the system as DisabledFriendly, thereby allowing other users of the system to benefit fromsuch deduction of insights. The utilization of “disabled friendly”tagging is demonstrated only as a non-limiting example; and the TrailCharacteristic Estimator may estimate or deduce or determine othercharacteristics or tags for a particular route or trail, based oncharacteristics or features of the user(s) that traveled or thatcurrently travel that particular route or trail; for example,children-friendly trail, family-oriented trail, senior citizens friendlytrail, bicycle friendly trail, Extreme Sports fans trail, or the like.

The system may further comprise a Visitor Characteristic Estimator unitor module, able to estimate or deduce or determine one or moreuser-specific characteristics, based on the routes or trails or tripsthat were performed or taken by that user. For example, the VisitorCharacteristic Estimator may analyze the geo-location data of the routesthat were recently hiked or traveled by user David; and may detect thatmost, or all, of the trips or routes that were taken by user David inyear 2016, or in the past 90 days, are defined in the system asdisabled-friendly trails; and may thus determine that user David isdisabled, or is accompanying a disabled person. Similarly, the systemmay determine that all or most of the venue attractions that werevisited by user Janet, within the last 6 months, are child-orientedattractions in the venue (e.g., the Kids Playground); and may thusdetermine or estimate that user Janet is accompanied by one or morechildren during her trips. These determinations may be used to tag aparticular user with one or more such characteristics (e.g., disabled;has children; fan of Extreme Sports trails; or the like); and may thenbe used by the system for one or more purposes; for example, in order toselectively send messages or alerts only to such subset of users thathave that characteristic (e.g., sending the message “Our magician willperform near the Waterfall in 20 minutes” to all visitors that weretagged by the system as “children oriented” visitors); or in order toselectively provide to such particular subset of visitors, a particularpromotion or coupon or offer or advertisement (e.g., sending only tosuch users that were tagged as “children oriented”, an advertisementmessage that “our cafeteria is serving a Kids Meal”), or the like. Theseinsights may further be used subsequently, for marketing purposes andfor advertisement targeting purposes, when such users are off-the-venueand are away from the venue.

Mode of Transportation Estimator 204 may estimate or determine or deducea current or recent or previous mode of transportation of one or moreusers; such as, whether a user utilized a car or motorcycle, or walkedor hiked, or utilized bicycle, or utilized other means (e.g., a boat).For example, Mode of Transportation Estimator 204 may take into account:(a) speed or velocity of transportation, which may indicate a rapidmeans (e.g., a car driving at 70 kilometers per hour) and not a walkinguser and not a bicycle riding user; (b) whether the terrain is suitablefor certain modes of transportation (e.g., determining that the terrainis a forest, and therefore the means cannot be a car; determining thatthe terrain is a lake, and therefore the means is a boat or a swimminguser, and then differentiating between them based on speed); (c) theacceleration of the user, which may indicate a mode of transportation;(d) the change in acceleration of the user, which may also indicate amode of transportation, or an abrupt stop, or a gradual stop, or anabrupt commencement of movement, or a gradual commencement of movement;(e) means of transportation that were already identified or indicated bythe same user, at previous trips and/or during the same trip; (f) meansof transportation that were already identified or indicated by otherusers, at previous trips and/or during the same trip or the same area;(g) contextual analysis of messages that the user sends and/or receives(e.g., “I am riding my bike now on the Yellow Trail”, or “Let's walk onthe Red Trail”), including contextual analysis of text in such messages,and/or image analysis and/or computer vision analysis of one or morephotos or videos that were captured and/or sent by the user (e.g., auser taking a “selfie” image of himself, wearing a bicycle helmet and/orstanding next to his bicycle); (h) probabilistic analysis and estimationof whether or not a user, who is currently observed as travelling atwalking speed, is indeed walking or is still driving at low speed; (i)weather conditions, which may be more favorable or less favorable to aparticular means of transportation (e.g., rain may be less favorable forbicycle riding, but may still be favorable for hiking at certainplaces); (j) data or insights obtained or deduced by utilizing a MachineLearning algorithm or system; and/or other suitable data; (k) audio datasensed and/or collected via one or more microphones sensors of theend-user device, for example, the microphone of the end-user device isactivated and captures audio and surrounding sounds and ambience, and anaudio analysis unit (e.g., locally within the end-user device, orremotely in a remote server) analyzes such captured audio or at least asample of such captured audio, and determines that the user istravelling by car (e.g., by identifying audio sound or noise thatcorresponds to noise of a motor vehicle) or by bicycle (e.g., byidentifying audio sound or noise that corresponds to bicycle wheelsturning or spinning) or by foot (e.g., by identifying audio sounds thatcorrespond to tapping of feet along a terrain), or the like; (L)accelerometer data and/or gyroscope data and/or vibration data and/ordevice-orientation data, that are captured or sensed by the end-userdevice, and that are analyzed locally and/or remotely, and enable thesystem to sense a first type of vibrations or displacements that aretypical when (or that are more common when) the user travels by vehicle,or alternately by identifying a second type of device-vibrations ordisplacements that are typical when the user travels by bicycle (e.g.,due to the cyclical movement of pedaling feet), or alternately byidentifying a third type of device-vibrations or displacement that aretypical when the user travels by foot (e.g., due to exchange ofright-foot left-foot while walking, and particularly when the end-userdevice is stored in a pocket of the pants of the user), or the like.

In some embodiments, optionally, the above-mentioned information mayeven enable the system to estimate or to determine which make and/ormodel is a particular vehicle that the user is utilizing; for example,based on analysis of captured audio, device vibrations and/or devicedisplacement, as well as geo-spatial information and acceleration, thesystem may firstly determine that the user is moving at a speed of 65miles per hour, and therefore the system determines that the user isutilizing a vehicle and not a bicycle and is not walking; then, based onanalysis of captured audio, device vibrations and/or devicedisplacement, the system may determine or may estimate that the vehicleis a Tesla electric car (e.g., due to extremely low motor noise, or dueto lack of motor noise, or due to identification of a particular motornoise signature that characterizes Tesla cars), or that the vehicle is aFord Mustang (e.g., due to a particular throttle sound or throttle noisesignature).

In some embodiments, the above-mention determination(s) may be performedby a two-tier or multiple-tier process. For example, in a first tier,the system may utilize a set of pre-defined parameters and senseddata-items (e., geo-spatial location; speed; acceleration; displacement;displacement over time; identification of full stops; or the like), inorder to make a preliminary determination about the mode oftransportation. The first tier of the analysis may be configured toyield exactly one of two possible outputs, for example: (i) a certaindetermination that the user is travelling by vehicle (e.g., due toidentification of current speed and/or average speed of 68 miles perhour); or, (ii) a determination that the set of parameters does notenable the system to determine in confidence which mode oftransportation is utilized (e.g., due to identification that the speedand acceleration of the user may correspond to a fast runner and to abicycle rider and to a slow-driving car). In some embodiments, the firsttier of analysis may yield other types of determinations; for example, adetermination that the user is certainly not walking and not running,together with a determination that it is uncertain yet whether the useris utilizing a car or a bicycle.

Then, if the system did not yet determine for certain, in the first tierof the analysis, which mode of transportation is used by the user, thesystem may proceed to perform a second tier of analysis which mayutilize further calculations and/or may be based upon other data. Insome embodiments, for example, the second tier of the process mayactivate the accelerometer and/or the gyroscope(s) of the end-userdevice, for a pre-defined time period (e.g., 3 seconds, 5 seconds, orthe like), and may sample the sensed data based on a pre-definedsampling rate (e.g., 5 or 20 or 50 times per second); the sensed data isconverted or divided or separated into three perpendicular axis data,for example, X-axis data, Y-axis data, and Z-axis data; then, the datafor each axis undergoes a mathematical transformation process (e.g.,undergoes Fast Fourier Transform (FFT) or other suitabletransformation), yielding three graphs or functions or outputs havingdifferent shapes or structures; the three outputted graphs or functionsor data, are filtered through three, respective, filters which output,for each one of the three graphs, a confidence score regarding themost-probably mode of transportation for that graph (e.g., most-probablya car, or most-probably a bicycle, or most-probably a walker/runner byfoot); then, the system may utilize a pre-defined determination processto reach a final decision based on the three confidence scores (e.g., ifall three confidence score agree with each other than their output isindeed the determined mode of transportation; or, if two out of thethree confidence scores agree with each other than the system determinesthat the mode of transportation agreed by the two of the threeconfidence scores is the correct one; or the like).

Optionally, the results of the second tier may be weighted or may betaken into consideration by using a pre-defined weighting formula orweight factors (e.g., which may allocate a greater weight or anincreased weight to the Z axis; or, which may allocate a greater weightor an increase weight to the X and Y axis data and not to the Z axis; orthe like). Optionally, the results of the second tier of the analysis,are also compared to the results or the output of the first tier of theanalysis, in order to detect an abnormal result or an anomaly (e.g., ifthe second tier yields three outputs that indicate “walker by foot” athigh confidence, but the first tier indicates an average velocity of 62miles per hour which does not characterize a walker or a runner). Insome embodiments, the parameters that are utilized in the second tier ofthe determination process, may be obtained by using a neural network, orthe second tier itself may be implemented as a neural network, therebyallowing the system to autonomously self-learn and to improve and/orauto-correct the parameters over time.

In some embodiments, the estimated or determined means oftransportation, may further be utilized in order to adjust or modify therate at which the end-user device 101 sends and/or receives data; suchas, decreasing the time-interval between transmissions if it isdetermined that the user is driving a car, or increasing thetime-interval between transmission if it is determined that the user iswalking. This may enable the system to provide efficient utilization ofpower consumption to end-user device 101.

Trail Augmentation Unit 205 may operate to augment the informationrelated to a trip or track or trail or route-segment, that a user hastraveled or is travelling or plans to travels or is considering totravel. For example, Trail Augmentation Unit 205 may analyze data fromone or more external sources (e.g., a list or map or lookup-table ordatabase of water coolers, or of public restrooms, or of cafeterias), inorder to determine that a particular trail or track or route has (ordoes not have) two water-coolers along the route, and/or has onerestroom facility along the route, and/or has picnic facility and/orcamping area and/or sightseeing area and/or other objects of interest(e.g., monuments, archeological artifacts, or the like). TrailAugmentation Unit 205 may further collect or determine data thatotherwise augments the trail data, for example, may determine that partsof the trail are covered (e.g., within a dense forest) and thus may bemore suitable for hiking in rain or on a sunny day; or that parts of atrail are uncovered and thus may be more suitable for a user that hasumbrella or hat).

Trail Augmentation Unit 205 may also collect data from Internetresources and websites, in order to determine that the Yellow Trail hasa water fountain whereas the Red Trail does not, or that a certain trailhas a restroom facility; and may augment the mapping system with suchadditional information, which may then be utilized by the user whenselecting or requesting a trail for hiking. Accordingly, the TrailAugmentation Unit 205 may respond to user queries, that request todisplay or to choose a trip segment or route or track that includes (orexcludes) water coolers or water fountains, or restroom facilities orcamping grounds, or other points-of-interests or objects-of-interest.

It is noted that the Trail Augmentation Unit 205 may operate also inreal-time, while the user is actually hiking or traveling or walking, bydynamically and pro-actively alerting the user via a pop-up notificationor other pushed notification, that a point-of-interest or particularmonument or object is located on the trail, or even located off thetrail (e.g., “if you go 30 meters eastbound, off the trail, you will seethe Waterfall”). The Trail Augmentation Unit 205 may thus advise theuser during the trip or the hike, with regard to possible modificationof the track or trip, in order to expose the user to such additionalpoints-of-interest. The Trail Augmentation Unit 205, as well as othercomponents of the system, may be learning components which may utilizeMachine Learning, to gradually learn the preferences of a particularuser or of multiple users; and may identify (and may then take intoaccount) that a particular user prefers to take a longer route, orprefers to take a route that passes near water fountains or nearbodies-of-water, or typically requires to stop at a restroom facility,or other trip characteristics and/or user characteristics that thesystem may then utilize in making further recommendations orsuggestions, in the same trip and/or in future trip, of the same userand/or of other users that are located nearby.

Video Clip Generator 206 may automatically generate a video clip, oraudio-video clip, or animation clip, which corresponds to and/ordescribes a trip that the user performed; and which may automaticallyinclude therein one or more photographs or images that the user capturedvia the end-user device 101 along the trip, and/or one or more mapimages or map-portions that indicate at which points each image orvideo-clip-segment was captured.

For example, user Adam may travel with his end-user device 101 fromPoint A to Point B, by foot along the Yellow Trail. User Adam maycapture images and/or sounds and/or videos, at points C and D along thetrail, and optionally also at points A and B. User Adam may stop fordrinking water at water fountain located at Point E along the trail.User Adam may have partial GPS reception, or may not have GPS receptionat all, along the trail.

Accordingly, the Video Clip Generator 206 may analyze the datacharacterizing the end-user device (its location, velocity, altitude, orthe like), and may automatically compose or generate a video-clip oranimation, which may comprise, for example: (a) an image or clip of amap which shows the entire trail; (b) then, an image or clip thatindicate that the user is located at the beginning point of the trail;(c) then, a transfer or shift to an image of Point A, such as an imagethat the user captured, or an image obtained (e.g., from the Internet orsite) which is associated with Point A; (d) then, depicting of the mapof the trail, showing a progress indicator from Point A to Point C(e.g., a flag or a pin, or an avatar or image of the user, progressingalong the map of the trail); (e) then, the image that the user capturedat point C; (f) then, progress of the trail map from point C to point E,and showing of a water fountain image, with an automated caption ortitle “I had a Water Break here”; and so forth, with briefvideo-segments and/or audio-segments and/or animation-segments thatcorrespond to segments of the real-life trip, as experienced by the userAdam via his end-user device, including in that video images and/orvideos and/or audio that the user captured intentionally, and/orincluding also images and/or video and/or audio that the end-user devicecaptured autonomously (e.g., if the end-user device is an AugmentedReality (AR) glasses or headset or gear that autonomously records and/orcontinuously records data, or a camera or device such as GoPro Herodevice, or a drone or remote-controlled aircraft or airborne device),and/or images or clips of monuments or points-of-interest that arelocated along the identified route that was walked or traveled (e.g.,optionally including images or video-segments that may be obtained fromthird parties, from the Internet, from other users, from previous tripsof the user). The system may enable the user to save theautomatically-generated clip, to edit or modify it, to share it or sendit to recipients, to post it to social networking sites or bloggingsites or file-sharing sites or other content-sharing platform, or tootherwise publish it via content-publishing platforms.

It is noted that the above description of the demonstrative process ofvideo-clip generation, is provided only as a non-limiting example of apossible process that may be implemented by the Video Clip Generator206; and other suitable processes may be utilized, in accordance withthe present invention; and other suitable operations may be included inthe process, or omitted, or repeated, or modified, or performed indifferent order or sequence.

In some embodiments, optionally, the Video Clip Generator 206 mayutilize a suitable template for generating the video clip, based on auser selection, or based on an automatic or autonomous determination bythe Video Clip Generator 206 with regard to which template would be mostsuitable for a particular trip. For example, the Video Clip Generator206 may ask the user to select a template from a list of availabletemplates (e.g., “forest walk” template, or “bicycle ride” template, or“fishing trip” template, or the like). Additionally or alternatively,the Video Clip Generator 206 may autonomously determine, and suggest tothe user, a suitable template for generating the video-clip; such as, ifthe Video Clip Generator 206 determines automatically that the trip tookplace in a dense forest, and that the trip took place by walking (andnot by riding a bicycle), then the Video Clip Generator 206 mayautomatically suggest and/or select the template of “forest walk” forgenerating that video-clip. Similarly, background image(s), soundeffects, audio track, and/or other clip-specific features, may beselected or determined in order to accommodate a particular trip. Insome embodiments, the template or theme of the video clip may beautonomously selected by the system; for example, based on contextualanalysis of messages that the user sent while he was on the trail (e.g.,the user sent out a message “I am now on the Red Trail in SpringfieldForest”), and/or based on image analysis or video analysis or computervision analysis of images or videos that the user captured and/or sentwhile he was on the trail or when he described the trail (e.g.,detecting that in such image, there is a road-sign of “Welcome to theSpringfield Nature Center”), and/or based on the time-of-day of the trip(e.g., automatically selecting a night-themed template for a trip thattook place in the evening), or the like.

In some implementations, for example, images or background images, aswell as other features of the clip (e.g., sound effects, backgroundmusic, audio effects, animations, transitions) may be selected ordetermined or modified, by taking into account the characteristics ofthe trip and/or the trail and/or the user. For example, if the user isfemale, a pink or purple graphical theme may be selected. For example,if the trip occurred at night time or at sunset, then night-related orsunset-related imagery (and/or sounds) may be selected and/or insertedby the Video Clip Generator 206. For example, if the Video ClipGenerator 206 identifies that the trip has passed through or near awaterfall location, then a sound effect of running water may beautomatically added or inserted at the suitable segment of the videoclip. Other suitable effects or selections may be inserted or performedby the Video Clip Generator 206, based on other suitable conditions orparameters.

In some embodiments, Video Clip Generator 206 may enable multiple users(e.g., a group of users that travel together, each user having his ownend-user device) to contribute materials and/or data in order tocollectively generate a unified video-clip describing their triptogether. For example, each user of the group may join an onlinetrip-group, or may otherwise indicate his consent to share informationor materials or data. Then, Video Clip Generator 206 may obtain sometrip data and/or images from a first user, and Video Clip Generator 206may obtain other, additional, trip data and/or images from a seconduser; and Video Clip Generator 206 may generate a unified video clippertaining to that trip, which incorporates therein the materials anddata obtained from these two (or more) users, incorporated together intoa single video clip that each group member may then receive, play-back,view and/or share.

Proximity Indications Generator 207 may operate to direct a user, whooperates the end-user device 101, towards a particular point that islocated in general proximity to the user yet may be difficult to findfor a person in real-life situations; such as, to a monument or artifactthat is difficult to see or to find, or to a beginning of a naturetrail. For example, a conventional mapping application may guide theuser, at most, to arrive at the parking lot of a nature center; but maynot guide the user how to get from the parking lot to the beginning ofthe Yellow Trail that the user would like to hike. The ProximityIndications Generator 207 of the present invention may guide the usertowards that particular point. The user may indicate to the end-userdevice that the user intends to perform a hike at the nearby naturecenter or attraction, or that the user is particularly interested inhiking along the Yellow Trail. The Proximity Indications Generator 207may indicate to the user the general direction to which the user shouldwalk. As the user moves, the Proximity Indications Generator 207 maytrack the relative movement or the new location of the user, and mayindicate to the user whether the user is going Towards the desired pointor Away from it; such as, by indicating to the user, “you are gettingWarm” (or “warmer” or “hot”) as the user approaches the desiredlocation; or by indicating to the user “you are getting Cold” (or“colder”) as the user's movement is actually taking him away from thedesired point. In some embodiments, every N seconds (e.g., N being forexample 0.5 seconds or 1 second or 2 second or 5 seconds or otherthreshold value), the end-user device may check whether the currentlocation of the user is closer to, or is further from, the destinationpoint, relative to its proximity N seconds ago; and may generate the“warmer/hot/hotter” indication, or conversely the “cold/colder”indication accordingly. For example, if the system detects that the useris located 185 meters away from the destination point, and after 5seconds the user is located 189 meters away from the destination point,then the system may generate a “colder” alert or an indication of “youare walking away from the destination”.

In some embodiments, the Proximity Indications Generator 207 may takeinto account additional parameters or data, and not only the lineardistance between the current location of the user and thepoint-of-interest. For example, the Proximity Indications Generator 207may determine that the user is actually walking correctly towards thepoint-of-interest, through a curved non-linear trail, which appears asif the user is walking away from the target point, but actually isindeed estimated to correctly bring the user to the desired target pointof the user proceeds on his current trail. Optionally, the ProximityIndications Generator 207 may display a compass indication or anormalized compass representation, in order to similarly guide the userprecisely towards the point-of-interest.

In some embodiments, an entity that manages or oversees a particulargeographic location or area, may utilize the present invention in orderto collect and extract data regarding users that navigate or hike atsuch location or area, and in order to automatically generate insightsand/or notification alerts regarding users and/or their behavior, aswell as drawbacks and/or advantages of the location or area.

For example, a website of Springfield Nature Center may offer to usersto download or install a dedicated “app” or mobile application (or, tolaunch such application through a web-browser, such as an HTML5 with CSSand JavaScript application), or to access a particular page or tab orsection in an “app” or mobile application. Once installed, theapplication may check the actual geo-location of the user. If the useris located at least K meters away from a particular point of theSpringfield Nature Center, then the user may be regarded as “off thegrid” and may not receive notifications or information from the system;and may not be regarded as a user that needs to be tracked within theNature Center limits. In contrast, a user that is located within atleast K meters from that particular point of the Nature Center, and/or auser that is located within a pre-defined polygon that defines bordersof an area-of-interest that the administrator had defined, may beregarded as an actively-hiking user whose data may be collected and thatmay receive real-time notifications from the Nature Centeradministrator.

The application may thus enable the Nature Center to collect dataregarding the actively-hiking users, their location, their velocity, thetime that they spend at various regions or areas within the NatureCenter, and/or other data. The application may further perform dataanalysis, taking into account time and/or date and/or spatial parametersand/or temporal parameters, in order to autonomously extract insightswith regard to an entire group or populations of users that hike ortravel in that Nature Center.

For example, a Data Mining Unit 208 may perform the followingoperations: (a) may determine the current real-time number of users thatare currently hiking within the Nature Center (e.g., “176 users arecurrently within the Nature Center limits”); (b) may determine thecurrent real-time number of users that are currently hiking at aparticular Trail within the Nature Center (e.g., “38 users are currentlyhiking along the Red Trail”); (c) may determine the current real-timenumber of users that are currently located within a pre-defined polygonor circle of geographical area (e.g., “17 users are currently within 20meters of the Waterfall”); (d) may determine a temporary or fixed burdenor over-crowding of a particular region or trail or point-of-interest,or of lack-of-interest in particular regions or trails orpoints-of-interest (e.g., “85% of users or 153 users are currently atthe Waterfall, over-crowded”; or “Out of 180 users that currently visit,only 3 users are at the Red Trail, so no need for an extra inspector atthat trail”); (e) similar insights with regard to a particular trail, ortrail-segment, or area-of-interest.

Optionally, each one of these insights may further be filtered or sortedor grouped, by taking into account one or more of: user gender; userage, or age-range; language (e.g., based on the application language asdownloaded or used by the user); and/or other user data which may beobtained about the user or by the user (e.g., whether the user isindividual or part of a group or family), and/or taking into accountpast or historical usage (e.g., “show the number of male users, thathave the Spanish version of the application, who have already been inthis location in the past and are returning visitors”).

Optionally, each one of these insights may be crossed with otherinsights, or may be produced in real-time, or may be generatedretroactively (e.g., “show which day of the week was the most crowded atthe Waterfall”). The system may thus generate reports or alerts, aboutthe average or median time that users spend at the entire area, or at aparticular trail or point-of-interest; graphs or charts of the number ofusers and/or the level of crowdedness at the entire area of atparticular point (e.g., identifying a typical peak of 320 users onSundays between 2 pm and 4 pm); generating of crowdedness maps or chartsthat take time elements into consideration (e.g., on Monday mornings,the Waterfall area is the most crowded) or that ignore time (e.g., ingeneral, the Bridge area is the most crowded area); and/or othersuitable insights.

The system may utilize a Crowdedness Map Generator, or other suitablemodule or unit, in order to collect location-based data or geo-spatiallocation data of the visitors that are within a pre-defined venue orregion or geographical area. For example, the venue borders or perimetermay be defined by a venue administrator, by providing a set ofgeo-spatial coordinates that define a geographical polygon, or byproviding a radius around a particular geo-spatial point or location(e.g., 900 meters radius around the Blue Waterfall), or by enabling thevenue administrator to draw a polygon or a free-form shape on acomputing device which shows a digital map of the venue and itssurrounding and by tracking the shape or structure or polygon drawn bythe venue administrator and defining it as the venue area.

The system may then utilize a database or list or lookup table or othersuitable data storage format, in order to create and maintain and updatea list of all portable end-user devices that are within that pre-definedvenue area; for example, by receiving or collecting location-based datafrom all such devices, which may run an “app” or application or mobileapplication or mobile-friendly application (or browser-basedapplication) that communicates with a central server of the venueadministrator and which periodically (e.g., every 1 second, every 5seconds, every N seconds, or the like) reports to such central serverthe current geo-spatial location of each such device. A venuecrowdedness estimator may analyze the geo-spatial location data that isreceived from such multiple end-user devices; for each such data-item,the system determines whether the received location data is within (oris internal to) the defined venue perimeter, or conversely is outside of(or is external to) the defined venue perimeter; thereby filtering thedata to create a first list of inside-the-venue devices and a secondlist of outside-the-venue devices (e.g., which still run or use the“app” or application associated with that particular venue).

The crowdedness map generator may generate a real-time (ornear-real-time) dynamically-updating digital map, which indicates ordepicts a map of the venue, and puts graphical on-screen indicator(s)for each user or end-user device that is known to be located within thevenue (or outside the venue) at its relevant location. Such indicatorsmay be, for example, a colored pixel or a group-of-pixels, or a flag ora location-point or other suitable indicator; and each such indicatormay represent a single end-user device (or user) located there, or apre-defined number of end-user devices (e.g., each indicatorrepresenting 5 users, or 10 end-user devices, or other number N of usersor end-user devices). The crowdedness map may be generated with regardto current, real-time, data; and may also be generated, upon request bythe venue administrator, with regard to historical data, therebyindicating historical or past crowdedness in a previous time-point ortime-slot or time-interval, for example, by utilizing a database thatlogs and records the location-based data for each visitor and then byutilizing a filtering query to obtain the list of end-user devices thatwere located within the defined venue during a particular time-point ortime-slot (e.g., on April 17 at 4:30 PM, or, on April 16 between 2:00 PMand 2:15 PM).

For example, FIG. 7 is a schematic illustration of a crowdedness map700, generated in accordance with some demonstrative embodiments of thepresent invention. Map 700 may indicate or may depict a venue perimeter701; may include indications of venue sub-regions (e.g., “the GreenField”) or attractions (e.g., “the Waterfall”); may indicate using afirst type of indicator (e.g., shown as asterisk circles, or by using afirst particular color) users that are located within the venue andusing the “app” of the venue; and may optionally indicate using a secondtype of indicator (e.g., shown as hashtag characters) users that arelocated externally to the venue and using the “app” of the venue.

Optionally, a crowdedness data analyzer may analyze the current and/orthe historical location-based data, in order to generate current orreal-time alerts to the venue administrator, or in order to generatelong-term insights or recommendations to the venue administrator. Forexample, the system may analyze the current or the recent location-baseddata of users, and may detect that currently there is crowdedness beyonda pre-defined threshold value (e.g., more than N users per area of 50square meters) at a particular sub-region of the venue, and may indicatesuch current crowdedness to the venue administrator (e.g., “consider tosend an inspector to that area to check the situation there). The systemmay also analyze the past data or the historical data of locations ofusers, and may extract or generate insights, such as, “there istypically over-crowdedness of more than N users per area of 40 squaremeters near the Waterfall on Sundays between 1 PM to 3 PM”). The systemenables the venue administrator to define and to modify the parametersor threshold values or ranges that indicate crowdedness or user density,over-crowdedness or over-density (e.g., relative to a density thresholdor a crowdedness threshold), non-crowdedness or emptiness or lack ofvisitors or increased number of visitors or reduced number of visitors,with regard to the entire venue, or with regard to a particularsub-region thereof (e.g., indicated as a polygon or other shape drawn ona map of the venue), or with regard to a particular attraction therein;and/or in relation to a particular time-slot or time-of-day orday-of-week (e.g., enabling the administrator to define that 18 visitorsnear the Waterfall at 11 AM is not over-crowded, but that 18 visitorsnear the Waterfall at 3:55 PM is crowded since the nature center isclosing at 4:00 PM; or defining that 23 or more visitors at the GreenForest is not over-crowded on Sundays and is crowded on other days,since on Sundays there are additional team members or inspectors in thevenue or at that region).

As demonstrated in FIG. 7 , the crowdedness map 700 may indicate, forexample, that currently there is crowdedness or high-density of visitors(indicated by seven Asterisk signs) near the Waterfall attraction orsub-region; that currently there is not crowdedness near the Green Field(indicated by only two Asterisk signs there); and further showing otherusers with their locations through-out the venue. The crowdedness map orvisitor density map may further indicate the crowdedness or density ofexternal users that did not yet enter the venue and are still externalto the venue perimeter, indicated by Hashtag signs, outside of the venueperimeter; for example, a newly-arriving group of users that isapproaching the front gate from the outside of the venue and are aboutto enter into the venue soon, and indicating to the administrator toopen an additional ticket booth or cash register at the venue entrance.Such maps may provide valuable real-time data to the venue administratorand team, as well as long-term utilization data of the venue (e.g.,indicating which regions are more visited than others, or the like).

It is noted that the map 700 may be dynamically-changing, such that theIndicators depicted on the map (e.g., Asterisk signs, Hashtag signs, inthe depicted example) are actually moving on the digital map (e.g.,presented to the venue administrator), in real time or in near-real-timeaccording to actual real-life movement of the respective end-users inthe venue or outside the venue; thereby enabling the venue administratorto obtain a real-life, dynamically updated, crowdedness map and/orvisitors map of the venue.

In some embodiments, optionally, the venue administrator may click on aparticular indicator of a particular end-user device, for example, inorder to selectively send a private message only to that particularuser, or in order to view the user profile of that particular user. Forexample, the real-time map may indicate with on-screen indications, eachvisitor and his or her current location in the venue; the venueadministrator may notice that a particular user is located at aparticular region (e.g., near the High Cliff) for a long period of time(e.g., more than K minutes, where K is 5 or 8 or 10 or other value), andmay send a private message through the venue “app” only to thatparticular user, asking if he needs assistance or whether he got lost.In some embodiments, the system may be used to define that a particularregion of the venue is a region that, if a user is located within it fora pre-defined time period, then an administrator is alerted and/or thata process begins in which a private message is sent to that particularuser to inquire if he is well and if he needs assistance.

The system enables the venue administrator to selectively send aparticular message, only to inside-the-venue devices (e.g., a message of“the venue will be closing in 10 minutes, please head towards the exit);or to send a particular message only to outside-the-venue devices thatrun the application of the venue (e.g., a message of “our front gatewill open in 5 minutes, get ready to enter our Nature Center”); or tosend a particular message to both the users on the first list and theusers on the second lists (e.g., a message of “a visitor to our NatureCenter forgot a blue jacket near the restroom, please come to retrieveit if it is yours)”. Optionally, the system enables the venueadministrator to selectively define a subset of users, from the firstlist and/or from the second list, that will receive a particularmessage; for example, based on known user characteristics, user age,user age range, user gender, user family status or companions (e.g.,hiking alone or hiking as part of a family or a group), user history(e.g., send a message only to users that visited this venue at leastthree times in the past year; or conversely, only to users that this istheir first-ever visit to this venue), or the like, by usinguser-specific characteristics that are obtained from a user-definedprofile, or from analysis of the user's behavior or historical behaviorin the venue (e.g., identifying based on location-based data analysis,that the user had typically hiked in trails that are oriented todisabled persons, and therefore tagging that particular user as arecipient of messages that are directed to hikers that are interested insuch type of trails, or as a recipient of messages that are directed todisabled persons, or the like).

Similarly, the system enables the venue administrator not only toselectively send messages or alerts or notifications to a subset of theusers of the “app” of the venue; but also, for example, to extractuseful information or insights with regard to such users and with regardto the venue itself. For example, the venue administrator may query thesystem to analyze all the location-based data of Sunday, April 23rd; andto generate the following information items: (a) which 30-minutetime-slot on that Sunday has the most visitors within the venue; (b)which 15-minute time-slot on that Sunday has the most visitors to theWaterfall attraction; (c) which attractions are most visited on thatSunday, or on all the Sundays in year 2016, by all the visitors to thevenue, or alternatively by the visitors that are known to be in the agerange of 25 to 35 years old, or alternatively by the visitors that areknown to be female, or alternatively by the visitors that are using aparticular version or language-version of the venue application (e.g.,all users who utilize the French language interface of the application),or a combination of such queries or filters or conditions.

In some embodiments, the system administrator may define one or moreactions that would be automatically performed, by one or more machinesor devices of the venue or in the venue, when one or more triggeringconditions hold true, particularly based on crowdedness-relatedconditions or triggers. For example, the system may define that if aparticular region of the venue has a level-of-crowdedness that isgreater than a pre-defined threshold value (e.g., more than 50 personswithin a radius of 30 meters around the Waterfall), then one or moreactions would be automatically performed by the system, for example,automatically closing a gate that leads to that region or attraction, orautomatically sending a summon notification to a team-member orinspector of the venue to reach that particular location. In anotherexample, the system may define that if the crowdedness level exceeds thepre-define threshold, then other suitable operations may beautomatically triggered; for example, a command or indication that aVending Machine requires additional inventory or supply of beverages dueto increased number (or quantity) of visitors, or that the Cafeteriarequires two more waiters or employees in order to alleviate thecrowdedness therein, or the like. Other suitable notifications oractions may be generated or performed, based on such pre-definedconditions or triggers.

The application may further allow the administrator of the Nature Centerto communicate with the currently-hiking users; to send themnotifications or alerts; to send them a welcome message as they enterthe zone of the Nature Center; to send them a goodbye message when theyexit the zone of the Nature Center; to send notifications to particularusers, or to users that are located in a particular region (e.g., onlyto users that are located at the Waterfall, or that are on the RedTrail); to send notifications to users by taking into account age,age-range, language, gender, and/or other parameters. Optionally, theapplication may further allow the administrator to receive messages fromusers via the same application; such as, to receive questions orrequests, or distress messages, from a user, optionally accompanied byuser data and user location, thereby allowing the administrator toprovide advice, solutions and/or help to such users.

In some embodiments, optionally, the system may generate an ad-hocsocial network, or content-sharing group, or messaging group, that mayenable (only) users that utilize the application and that are locatedwithin the Nature Center zone to communicate with each other,anonymously or non-anonymously. Optionally, these features may beoperational at a fine resolution or granularity; for example, enablingthe system to generate an ad hoc social network, or ad hoccontent-sharing group, or ad hoc messaging group, only among users thatare currently hiking on the Yellow Trail, or among users that arecurrently at the Waterfall point-of-interest.

It is clarified that the Nature Center is discussed herein as ademonstrative example only, and the features of the present inventionmay be used in conjunction with various other types of locations and/orentities and/or venues.

In some embodiments, the owner or administrator or operator of suchlocation or venue, may utilize a step-by-step “wizard” tool orinterface, in order to input or to upload information or data-items(e.g., name of the venue; contact details of the venue; days and hoursof operation of the venue; graphical file with a map of the venue; orthe like), thereby enabling such administrator to efficiently constructa digital presence (e.g., “app” or website) that corresponds to thatparticular venue and facilitates the touring of such venue by visitors.Upon completion of the data-entry/data-upload process, the system mayautomatically generate, for example, a digital interactive brochure ofthe venue, which can be shared with visitors and/or can be accessed ordownloaded by visitors, and which enable such visitor to utilize fornavigation purposes (e.g., clicking on an image in the digital brochurecases the end-user device to present navigation data and route guidanceinformation from the current location of the user towards thegeo-spatial location that is depicted in that particular image), or toutilize for other purposes (e.g., to receive pop-up messages about thevenue; to receive pop-up messages when the user gets closer to aparticular location in the venue; to communicate with the administrativepersonnel of that venue, or the like). The system also generates adashboard or a control panel, or other suitable interface, that enablesthe administrator of the venue to perform data mining and/or to receivethe various insights that the system may automatically generate based onthe collected data (e.g., a notification that “There is currently anexcessive number of visitors at the Waterfall location, please considerto send a crew-member there”).

Some embodiments may utilize community-based features or “wisdom of thecrowd” modules, in order to generate insights and/or information fortravelers and for users. For example, the system may enable users toreport that a particular walking trail (e.g., the Red Trail at theNature Center) is currently blocked due to a fallen tree, or has a triphazard or an obstacle, or conversely has a time-sensitive attraction(e.g., a rare white owl is currently being spotted near the Waterfall);and such information and/or insights from other travelers, in anaggregated form and/or as single messages, may be provided to otherusers in that venue or near such location, and/or may be provided to thevenue administrators and team-members.

In some embodiments, the system enables the venue administrator todefine “permanent attractions” in the venue, as well as “temporaryattractions” in the venue. For example, the Blue Waterfall or the PointyCliff may be “permanent” attractions in the Nature Center venue, becausethey exist there all-year-round, perpetually and continuously; and maybe indicated as such “attractions” on any map used by the end-usersthrough the application of the venue. In contrast, a family of deer iscurrently spotted by a team-member of the venue administration team inthe north-east corner of the Green Field of the venue; and the venueadministrator may command the system, in real time, to immediatelydisplay “Family of Deer” attraction indicators on all the maps that areshown via the “app” of the venue, at that particular location; and mayfurther command the system to remove that attraction from all maps afterN minutes (e.g., after 30 minutes) since this attraction is temporary inits nature. Furthermore, if the inspector on behalf of the venueadministrator notices that the Deer Family has relocated from the GreenField to the Blue Waterfall, the venue administrator may command thesystem to update all the maps that are shown in real time to users ofthe application, such that the indicator of the Deer Family isaccordingly moved on the map to its new real-life location, therebyenabling the system to generate a real-time, dynamically changing, mapof temporary or non-permanent attractions.

The Applicants have realized that conventional mapping systems,navigation systems, and route-guidance systems do not adequately presentinformation, (i) that indicates to the user that the user is currentlydeviating from the correct route to the destination, and/or (ii) thatdepict to the user his current deviation relative to the correct route,and/or (iii) that provides to the user corrective ad-hoc route-guidanceto get back on the right track and to correct the deviation, and/or (iv)to provide ongoing feedback to the user as he corrects his deviation,and/or (v) to provide reassurance or confirmation to the user as hetravels within the correct route to his destination and/or while he isstill performing a correction of deviation from the right track.

The Applicants have realized that these deficiencies of conventionalsystems, may be cured or mitigated by providing to the user uniqueindications; for example, by generating and displaying to a deviatinguser (e.g., that deviated from the correct route to his intendeddestination), a first on-screen line indicating the “correct” route tobe taken, as well as a second, differently looking, concurrent,on-screen line that indicates the deviated route that was or iscurrently being taken by the deviating user; and/or by providing to theuser, a first Factual Navigation Arrow, that indicates and that pointsat the current, de facto, real life, actual, direction that is currentlyengaged by the user; as well as a second, concurrent, differentlylooking, Corrective Navigation Arrow that indicates to the user whichdirection to take (e.g., temporarily) in order to correct his deviationfrom the correct route to the destination.

Reference is made to FIG. 8 , which is a schematic illustration of threemapping/navigation panels 801-803, generated by some demonstrativeembodiments of the present invention. Panels 801-803 may be screens in amapping or navigation or route-guidance “app” or application, operableon a portable electronic device (e.g., smartphone, tablet) that iscarried by a user; particularly a hiker that walks by foot, or travelsby bicycle, although vehicular users may also benefit from suchfeatures.

As demonstrated in navigation panel 801, the user of a portableelectronic device (e.g., smartphone or tablet) is travelling from aninitial Origin point (O), to an intended Destination point (D); forexample, after indicating to the system that he wishes to reachDestination point D. The navigation/mapping module may be client-side orserver-side or may utilize a hybrid client-and-server implementation;and may generate a Planned Route (“PR”) that is displayed on the screenof the end-user device, indicating the suggested route, that issuggested by the mapping/navigation system, to travel from origin pointO to destination point D. The planned route PR may be shown in aparticular color, for example, Green color. As the user travels alongthe planned route PR, a Factual Arrow (FA) is presented and displayed,pointing towards the direction that the user is actually, factually,progressing in. In the depicted example of panel 801, the location-baseddata of the end-user device, indicates that in the past K seconds (e.g.,in the past 3 or 5 or 10 seconds) the user has moved north-west alongthe Planned Route (PR); and therefore the Factual Arrow (FA) is shown,pointing to the upper-left corner (north-west), and being located on thePlanned Route (PR) itself.

As demonstrated in navigation panel 802, the user has deviated from thePlanned Route 801, either intentionally (e.g., to capture a photographof a running deer) or unintentionally or unknowingly (e.g., the userwandered away from the Planned Route). The system of the presentinvention detects that the user deviated or deviates from the PlannedRoute PR. The system continues to generate, render and display thePlanned Route on the screen of the end-user device. However, the systemalso generates, renders and displays an additional on-screen line,indicating the Deviated Segment (DSEG) that was actually walked ortraveled by that user, displayed in a different on-screen color orcharacteristic. For example, the Planned Route PR may be displayed as athick green line; whereas the Deviated Segment may be displayed as athin, red, broken line; thereby enabling the user to concurrently view,on the same screen and at the same time, both the Planned Route (PR) andhis actual Deviated Segment (DSEG). Furthermore, in addition to theFactual Arrow (FA) that is displayed, and which continues to indicatethe current, actual, direction-of-progression of the user, the systemmay further generate and display, concurrently, a secondary, differentlylooking, Corrective Arrow (CA) or other correction indicator, whichindicates to the user which direction he should take, not in order toreach the Destination point D in the shortest way, but rather, whichdirection he should take in order to back-track his actual route and toget back to the Planned Route (PR) at the same point that he started todeviate, or alternatively, pointing to the user which alternativesegment to take (e.g., at which direction to walk or to travel) in orderto get back on the Planned Route. The system of the present inventionthus generates and displays, uniquely, in a concurrent manner on thesame screen of the end-user device, both the Planned Route (PR) and theDeviated Segment (DSEG), as well as the Factual Arrow (FA) and theCorrective Arrow (CA); thereby providing enriched information to theend-user that would enable him to correct his deviation safely andefficiently.

The Applicants have realized that, unlike conventional systems thatalways attempt to navigate the user towards the “final destination”point, regardless of deviations, it may actually be safer and morebeneficial, at least for some users, and particularly in the context ofon-foot hiking in non-urban areas or in rural areas, to guide the userto back-track and walk-back on his exact deviation route in order toreturn to the Planned Route.

As demonstrated in navigation panel 803, based on the Corrective Arrow(CA) that was displayed to him in panel 802, the user now returns backalong his Deviated Segment (DSEG), on his way back towards the PlannedRoute (PR). Accordingly, the Factual Arrow (FA) is now generated anddisplayed, showing the user progressing back along the DeviatedSegment); and furthermore, the Corrective Arrow (CA) is removed or isnon-displayed (or his hidden by the Factual Arrow FA), since there is noneed for the user to “correct” the actual direction of his travel, asthe user is currently progressing in the correct direction, which is thesegment that would bring him back to the Planned Route.

In another demonstrative example, the application may be used by acruise ship or other type of vessel or boat or ship, thereby allowingthe captain or the ship administrator to obtain real-time statisticsabout users (e.g., boat passengers) that are on the boat and/or that areon-the-shore. For example, the ship administrator may send an alert toall passengers, or only to on-shore passengers, alerting them that theship will sail away in 30 minutes.

Reference is made to FIGS. 5A-5B, which are schematic illustrationsdemonstrating the operations and features of the system when utilized bya business user (e.g., an administrator of a location or an area, suchas a Nature Center), in accordance with some demonstrative embodimentsof the present invention.

Reference is made to FIGS. 6A-6C, which are schematic illustrationsdemonstrating the operations and features of the system when utilized byan end-user (e.g., a traveler having a portable electronic device), inaccordance with some demonstrative embodiments.

In some embodiments, a method comprises: (a) receiving location datafrom an electronic device of a traveler; (b) determining that saidtraveler moved from a first geographical point to a second geographicalpoint; (c) determining that the location data, received from saidelectronic device of said traveler, lacks at least a portion whichcorrespond to a route-segment between the first geographical point and asecond geographical point; (d) determining which route-segment saidtraveler took when he moved from the first geographical point to thesecond geographical point, out of two or more possible route-segmentsthat connect the first and the second geographical points.

In some embodiments, the determining of claim (d) comprises: (d1) basedon geo-location data, determining which transportation mode was utilizedby said traveler; (d2) based on said transportation mode, determiningwhich route-segment was taken by said traveler when he moved from thefirst geographical point to the second geographical point.

In some embodiments, the determining of claim (d) comprises: (d1) basedon analysis of audio data captured by said electronic device,determining which transportation mode was utilized by said traveler;(d2) based on said transportation mode, determining which route-segmentwas taken by said traveler when he moved from the first geographicalpoint to the second geographical point.

In some embodiments, the determining of claim (d) comprises: (d1) basedon analysis of vibration data captured by said electronic device,determining which transportation mode was utilized by said traveler;(d2) based on said transportation mode, determining which route-segmentwas taken by said traveler when he moved from the first geographicalpoint to the second geographical point.

In some embodiments, the method comprises: generating real-timehot-and-cold navigation data to a destination point, in a venue thatlacks a pre-defined travel route to said destination point, byindicating to said traveler, whether a current movement of said traveler(i) brings said traveler closer to said destination point or (ii) takessaid traveler further away from said destination point.

In some embodiments, the method comprises: based on an analysis ofhistorical trails, that were traveled by said traveler at other venues,determining whether said traveler has moved from the first point to thesecond point via a first candidate trail-segment or by a second,different, candidate trail-segment.

In some embodiments, the method comprises: based on an analysis of usercharacteristics that were provided by said travelers, determiningwhether said traveler has moved from the first point to the second pointvia a first candidate trail-segment or by a second, different, candidatetrail-segment.

In some embodiments, the method comprises: determining that a particulartrail-segment exists in real-life, between a first real-life point and asecond real-life point, wherein location-based data is unavailablebetween the first and second real-life points, wherein the firstreal-life point is a point in which said traveler lost geo-location datauntil reaching said second real-life point; wherein said determining isperformed based on a time difference between said traveler being at saidfirst real-life point and said traveler being at said second time-point.

In some embodiments, the method comprises: receiving from saidelectronic device a first, full-size, geo-location GPS data-itemindicating a first geo-location of said electronic device; subsequently,receiving from said electronic device only reduced-size data-items thatcomprise a truncated version of full geo-location GPS data.

In some embodiments, the method comprises: receiving from saidelectronic device a first, full-size, geo-location GPS data-itemindicating a first geo-location of said electronic device; subsequently,receiving from said electronic device only reduced-size data-items thatcomprise an indication of geo-spatial displacement relative to saidfirst geo-location.

In some embodiments, the method comprises: determining that a particulartravelling-trail is located in proximity of not more than N metersrelative to a particular real-life feature; automatically tagging saidtravelling-trail, in a computerized mapping system, as a trail that hassaid particular real-life feature; performing a search process or afiltering process, via said computerized mapping system, for trails thathave only said real-life feature.

In some embodiments, the method comprises: determining that a firsttraveler walked from a first point to a second point via a first walkingtrail; determining that a second traveler walked from said first pointto said second point via a second walking trail which is not-identicalto said first walking trail; merging together said first walking trailand said second walking trail, into a single unified walking trail thatconnects the first point to the second point; subsequently, in responseto a query of a third traveler querying how to move from the first pointto the second point, generating a query response that comprises saidsingle unified walking trail, and does not comprise separately saidfirst and second walking trails.

In some embodiments, the method comprises: based on geo-location data,determining that a particular user traveled via car from a first pointto a second point; based on analysis of audio data, captured by anelectronic device of said particular user, determining a make and amodel of said car.

In some embodiments, the method comprises: based on geo-location data,determining that a particular user traveled via car from a first pointto a second point; based on analysis of vibration data, captured by anelectronic device of said particular user, determining a make and amodel of said car.

In some embodiments, the method comprises: automatically generating amultimedia clip that comprises: (i) a graphical representation of a mapof a venue travelled by said traveler, (ii) a graphical indication of aparticular trail that was taken by said traveler within said venue,(iii) an image that was captured by said traveler at a particular pointof said particular trail. In some embodiments, said generatingcomprises: based on an analysis of one or more parameters of said venueand said particular trail, automatically selecting a pre-definedtemplate for constructing said multimedia clip.

In some embodiments, the method comprises: (A) receiving from anadministrator device, data that defines boundaries of a user-definedgeographical venue; (B) automatically maintaining and updating a list ofelectronic communication devices that are currently located within saiduser-defined geographical venue; (C) transmitting a message from saidadministrator device, only to electronic communication devices that arecurrently within said list, and not to electronic devices that arecurrently outside of the user-defined geographical venue.

In some embodiments, the method comprises: (A) receiving from anadministrator device, data that defines boundaries of a user-definedgeographical venue; (B) automatically maintaining and updating a list ofelectronic communication devices that are currently located within saiduser-defined geographical venue; (C) transmitting a message from saidadministrator device, only to a defined subset of the electroniccommunication devices that are currently within said list, and not toelectronic devices that are currently outside of the user-definedgeographical venue; wherein the defined subset is created by saidadministrator based on one or more filtering parameters; wherein saidfiltering parameters comprise at least: (i) a first filtering parameterthat filters-in or filters-out recipients based on user data, and (ii) asecond filtering parameter that filters-in or filters-out recipientsbased on proximity to a particular geo-location point.

In some embodiments, the method comprises: (A) receiving from anadministrator device, data that defines boundaries of a user-definedgeographical venue; (B) automatically maintaining and updating a list ofelectronic communication devices that are currently located within saiduser-defined geographical venue; (C) receiving from an electronicdevice, of a particular electronic communication device that is on saidlist; (D) transmitting said message, only to all other electroniccommunication devices that are currently within said list, and not toelectronic devices that are currently outside of the user-definedgeographical venue.

In some embodiments, the method comprises: (A) receiving from anadministrator device, data that defines boundaries of a user-definedgeographical venue; (B) automatically maintaining and updating a list ofelectronic communication devices that are currently located within saiduser-defined geographical venue; (C) constructing an ad-hoc, closed,social network that enables sharing of data-items only among users ofelectronic communication devices that are currently located within saiduser-defined geographical venue.

In some embodiments, the method comprises: (A) receiving from anadministrator device, data that defines boundaries of a user-definedgeographical venue which comprises a particular point-of-interest; (B)automatically maintaining and updating a list of electroniccommunication devices that are currently located within saiduser-defined geographical venue; (C) transmitting a message from saidadministrator device, only to a subset of the electronic communicationdevices that are currently within said list and that are currentlylocated within a pre-defined distance from said particularpoint-of-interest.

In some embodiments, the method comprises: (A) receiving from anadministrator device, data that defines boundaries of a user-definedgeographical venue; (B) automatically maintaining and updating a list ofelectronic communication devices that are currently located within saiduser-defined geographical venue; (C) generating region-crowdedness mapspertaining to different regions within said user-defined geographicalvenue.

In some embodiments, the method comprises: (A) receiving from anadministrator device, data that defines boundaries of a user-definedgeographical venue; (B) automatically maintaining and updating a list ofelectronic communication devices that are currently located within saiduser-defined geographical venue; (C) generating region-crowdedness mapspertaining to different regions within said user-defined geographicalvenue; (D) automatically detecting that in a particular region, a levelof crowdedness is currently greater than a pre-defined threshold value;and generating an alert message indicating over-crowdedness in saidregion.

In some embodiments, the method comprises: (A) receiving from anadministrator device, data that defines boundaries of a user-definedgeographical venue; (B) automatically maintaining and updating a list ofelectronic communication devices that are currently located within saiduser-defined geographical venue; (C) generating data indicating atleast: (i) an average speed of movement of travelers within a particularregion of said user-defined geographical venue; (ii) a number oftravelers that are currently located within a particular region of saiduser-defined geographical venue; (iii) an average time-length of stay,of travelers in a particular region of said user-defined geographicalvenue.

In some embodiments, the method comprises: (A) analyzing data ofprevious trails that were hiked by said traveler; (B) determining thatsaid traveler has engaged in the past with trails that have a particularcharacteristic; (C) based on step (B), determining that a current trailthat is hiked by said traveler, has said particular characteristic; (D)tagging the current trail that is hiked by said traveler, as a trailhaving said particular characteristic.

In some embodiments, the method comprises: (A) analyzing user-specificdata that is comprised in a user-profile of said traveler; (B) based onstep (A), determining that said traveler has a particularcharacteristic; (C) based on step (B), determining that a current trailthat is hiked by said traveler, is a trail that is oriented towardstravelers that have said particular characteristic; (D) tagging thecurrent trail that is hiked by said traveler, as a trail that isoriented towards travelers that have said particular characteristic.

In some embodiments, the method comprises: (A) determining that saidtraveler is travelling along a particular trail; (B) determining thatsaid particular trail is oriented to travelers having a particularuser-characteristic; (C) based on steps (A) and (B), determining thatsaid traveler is a user that has said particular user-characteristic,and providing to said traveler a particular content-item that isdirected to users that have said particular user-characteristic.

In some embodiments, the method comprises: (A) analyzing currentgeo-location data of said traveler; (B) detecting that said travelercurrently deviates from a planned route that leads towards an intendeddestination point; (C) displaying a first on-screen indication of saidplanned route, and concurrently displaying a second, different,on-screen indication of a deviated segment that said traveler used.

In some embodiments, the method comprises: (A) analyzing currentgeo-location data of said traveler; (B) detecting that said travelercurrently deviates from a planned route that leads towards an intendeddestination point; (C) displaying a first on-screen indication of saidplanned route, and concurrently displaying a second, different,on-screen indication of a deviated segment that said traveler used; (D)displaying an on-screen factual arrow that indicates an actualdirection-of-progression of said traveler; and concurrently, displayingan on-screen corrective arrow that indicates adirection-of-corrective-progression that said traveler should take inorder to correct a deviation from said planned route.

Although portions of the discussion herein relate, for demonstrativepurposes, to wired links and/or wired communications, some embodimentsare not limited in this regard, but rather, may utilize wiredcommunication and/or wireless communication; may include one or morewired and/or wireless links; may utilize one or more components of wiredcommunication and/or wireless communication; and/or may utilize one ormore methods or protocols or standards of wireless communication.

Some embodiments may be implemented by using a special-purpose machineor a specific-purpose device that is not a generic computer, or by usinga non-generic computer or a non-general computer or machine. Such systemor device may utilize or may comprise one or more components or units ormodules that are not part of a “generic computer” and that are not partof a “general purpose computer”, for example, cellular transceivers,cellular transmitter, cellular receiver, GPS unit, location-determiningunit, accelerometer(s), gyroscope(s), device-orientation detectors orsensors, device-positioning detectors or sensors, or the like.

Some embodiments may be implemented as, or by utilizing, an automatedmethod or automated process, or a machine-implemented method or process,or as a semi-automated or partially-automated method or process, or as aset of steps or operations which may be executed or performed by acomputer or machine or system or other device.

Some embodiments may be implemented by using code or program code ormachine-readable instructions or machine-readable code, which may bestored on a non-transitory storage medium or non-transitory storagearticle (e.g., a CD-ROM, a DVD-ROM, a physical memory unit, a physicalstorage unit), such that the program or code or instructions, whenexecuted by a processor or a machine or a computer, cause such processoror machine or computer to perform a method or process as describedherein. Such code or instructions may be or may comprise, for example,one or more of: software, a software module, an application, a program,a subroutine, instructions, an instruction set, computing code, words,values, symbols, strings, variables, source code, compiled code,interpreted code, executable code, static code, dynamic code; including(but not limited to) code or instructions in high-level programminglanguage, low-level programming language, object-oriented programminglanguage, visual programming language, compiled programming language,interpreted programming language, C, C++, C#, Java, JavaScript, SQL,Ruby on Rails, Go, Cobol, Fortran, ActionScript, AJAX, XML, JSON, Lisp,Eiffel, Verilog, Hardware Description Language (HDL, BASIC, VisualBASIC, Matlab, Pascal, HTML, HTML5, CSS, Per, Python, PHP, machinelanguage, machine code, assembly language, or the like.

Discussions herein utilizing terms such as, for example, “processing”,“computing”, “calculating”, “determining”, “establishing”, “analyzing”,“checking”, “detecting”, “measuring”, or the like, may refer tooperation(s) and/or process(es) of a processor, a computer, a computingplatform, a computing system, or other electronic device or computingdevice, that may automatically and/or autonomously manipulate and/ortransform data represented as physical (e.g., electronic) quantitieswithin registers and/or accumulators and/or memory units and/or storageunits into other data or that may perform other suitable operations.

The terms “plurality” and “a plurality”, as used herein, include, forexample, “multiple” or “two or more”. For example, “a plurality ofitems” includes two or more items.

References to “one embodiment”, “an embodiment”, “demonstrativeembodiment”, “various embodiments”, “some embodiments”, and/or similarterms, may indicate that the embodiment(s) so described may optionallyinclude a particular feature, structure, or characteristic, but notevery embodiment necessarily includes the particular feature, structure,or characteristic. Repeated use of the phrase “in one embodiment” doesnot necessarily refer to the same embodiment, although it may. Repeateduse of the phrase “in some embodiments” does not necessarily refer tothe same set or group of embodiments, although it may.

As used herein, and unless otherwise specified, the utilization ofordinal adjectives such as “first”, “second”, “third”, “fourth”, and soforth, to describe an item or an object, merely indicates that differentinstances of such like items or objects are being referred to; and doesnot intend to imply as if the items or objects so described must be in aparticular given sequence, either temporally, spatially, in ranking, orin any other ordering manner.

Some embodiments may be used in conjunction with various devices andsystems, for example, a Personal Computer (PC), a desktop computer, amobile computer, a laptop computer, a notebook computer, a tabletcomputer, a server computer, a handheld computer, a handheld device, aPersonal Digital Assistant (PDA) device, a handheld PDA device, atablet, an on-board device, an off-board device, a hybrid device, avehicular device, a non-vehicular device, a mobile or portable device, aconsumer device, a non-mobile or non-portable device, an appliance, awireless communication station, a wireless communication device, awireless Access Point (AP), a wired or wireless router or gateway orswitch or hub, a wired or wireless modem, a video device, an audiodevice, an audio-video (A/V) device, a wired or wireless network, awireless area network, a Wireless Video Area Network (WVAN), a LocalArea Network (LAN), a Wireless LAN (WLAN), a Personal Area Network(PAN), a Wireless PAN (WPAN), or the like.

Some embodiments may be used in conjunction with one way and/or two-wayradio communication systems, cellular radio-telephone communicationsystems, a mobile phone, a cellular telephone, a wireless telephone, aPersonal Communication Systems (PCS) device, a PDA or handheld devicewhich incorporates wireless communication capabilities, a mobile orportable Global Positioning System (GPS) device, a device whichincorporates a GPS receiver or transceiver or chip, a device whichincorporates an RFID element or chip, a Multiple Input Multiple Output(MIMO) transceiver or device, a Single Input Multiple Output (SIMO)transceiver or device, a Multiple Input Single Output (MISO) transceiveror device, a device having one or more internal antennas and/or externalantennas, Digital Video Broadcast (DVB) devices or systems,multi-standard radio devices or systems, a wired or wireless handhelddevice, e.g., a Smartphone, a Wireless Application Protocol (WAP)device, or the like.

Some embodiments may comprise, or may be implemented by using, an “app”or application which may be downloaded or obtained from “app store” or“applications store”, for free or for a fee, or may be pre-installed ona computing device or electronic device, or which may be otherwisetransported to and/or installed on such computing device or electronicdevice.

Functions, operations, components and/or features described herein withreference to one or more embodiments, may be combined with, or may beutilized in combination with, one or more other functions, operations,components and/or features described herein with reference to one ormore other embodiments.

While certain features of some demonstrative embodiments have beenillustrated and described herein, many modifications, substitutions,changes, and equivalents may occur to those skilled in the art.Accordingly, the claims are intended to cover all such modifications,substitutions, changes, and equivalents.

The invention claimed is:
 1. A method comprising: (a) receiving locationdata from an electronic device of a traveler, who travels towards adestination point; (b) generating real-time hot-and-cold navigation datatowards said destination point, by indicating to said traveler, via saidelectronic device, whether a current movement of said traveler (i)brings said traveler closer to said destination point or (ii) takes saidtraveler further away from said destination point; wherein the methodcomprises: (A) analyzing data of previous trails that were hiked by saidtraveler; (B) determining that said traveler has engaged in the pastwith trails that have a particular characteristic; (C) based on step(B), determining that a current trail that is hiked by said traveler,has said particular characteristic; (D) tagging the current trail thatis hiked by said traveler, as a trail having said particularcharacteristic; wherein the method is implemented by utilizing at leasta hardware processor.
 2. The method of claim 1, further comprising: (A)obtaining route navigation data from a first walker, who carries a firstelectronic device; and at a different time, obtaining route navigationdata from a second walker, who carries a second electronic device; (B)performing analysis of the route navigation data obtained in step (A)from the first electronic device and from the second electronic device;(C) determining an existence of a walking trail in real-life at acertain geo-location, by determining that two proximate trip segments ofsaid first and second walkers are actually a single, unified, walkingtrail in real-life; (D) generating an on-screen representation of thesingle, unified, walking trail which reflects two or more varyingreal-life walking trails of two or more non-related walkers.
 3. Themethod of claim 2, comprising: (I) detecting and discarding a TrailDeviation that is not part of said single unified walking trail, by:detecting that at least N different travelers walked separately along aparticular trail and generally followed a same trail; detecting that aparticular traveler has deviated from said particular trail for alimited period of time that is less than M seconds; analyzinglocation-based data of said particular traveler; determining that thedeviation of said particular traveler does not reflect the actual trailbeing mapped; determining that the actual trail should not reflect thewalking deviation of said particular traveler; and generating arepresentation of a correct walking trail without said deviation.
 4. Themethod of claim 1, comprising: determining which route-segment saidtraveler took, when he moved from a first geographical point to a secondgeographical point, wherein at least a portion of said route-segmentlacks actual GPS navigation data, based on user-specific informationthat was indicated by said traveler with regard to disability or specialaccommodations.
 5. The method of claim 1, comprising: determining whichroute-segment said traveler took, when he moved from a firstgeographical point to a second geographical point, wherein at least aportion of said route-segment lacks actual GPS navigation data, based onuser-specific information that was not explicitly indicated by saidtraveler, and based on analysis of historical data of previous routesthat were traveled by said traveler; wherein, if said analysis yieldsthat said traveler typically selects a difficult walking trail over aneasy walking trail, then: determining that said traveler took adifficult walking trail and not an easy walking trail when he moved fromthe first geographical point to the second geographical point.
 6. Themethod of claim 1, comprising: determining which route-segment saidtraveler took, when he moved from a first geographical point to a secondgeographical point, wherein at least a portion of said route-segmentlacks actual GPS navigation data, based on user-specific informationthat was not explicitly indicated by said traveler, and based onanalysis of historical data of previous routes that were traveled bysaid traveler; wherein, if said analysis indicates that said travelertypically selects a difficult walking trail over an easy walking trail,then: determining that said traveler took a difficult walking trail andnot an easy walking trail when he moved from the first geographicalpoint to the second geographical point.
 7. The method of claim 1,comprising: generating for said traveler route-guidance information (I)that indicates to said traveler that the traveler is currently deviatingfrom a correct route that leads to said destination point, and (II) thatdepicts to said traveler his current deviation relative to the correctroute, and (III) that provides to said traveler corrective ad-hocroute-guidance to get back on the right track and to correct saidcurrent deviation, and (IV) that provides ongoing feedback to saidtraveler via his electronic device as he corrects his deviation.
 8. Themethod of claim 1, comprising: generating and displaying on anelectronic device to a deviating user, that deviated from a correctroute that leads to said destination point, (I) a first on-screen lineindicating the correct route to be taken, and (II) a second, differentlylooking, concurrent, on-screen line that indicates the deviated routethat is currently being taken by the deviating user, and (III) a firstFactual Navigation Arrow that points at the current actual directionthat is currently engaged by the deviating user, and (IV) another,concurrent, differently looking, Corrective Navigation Arrow thatindicates to the deviating user which direction to take temporarily inorder to correct his deviation from the correct route.
 9. The method ofclaim 1, comprising: (A) analyzing current geo-location data of saidtraveler; (B) detecting that said traveler currently deviates from aplanned route that leads towards an intended destination point; (C)displaying a first on-screen indication of said planned route, andconcurrently displaying a second, different, on-screen indication of adeviated segment that said traveler used; (D) displaying an on-screenFactual Arrow that indicates an actual direction-of-progression of saidtraveler; and concurrently, displaying an on-screen Corrective Arrowthat indicates a direction-of-corrective-progression that said travelershould take in order to correct a deviation from said planned route. 10.The method of claim 1, comprising: receiving from said electronic devicea first, full-size, geo-location GPS data-item indicating a firstgeo-location of said electronic device; subsequently, receiving fromsaid electronic device, only reduced-size data-items that comprise: (I)a truncated version of full geo-location GPS data, and/or (II) anindication of geo-spatial displacement relative to said firstgeo-location.
 11. A system comprising: one or more hardware processors,configured to execute code that is stored in one or more memory units;wherein the one or more hardware processors are configured to perform aprocess comprising: (a) receiving location data from an electronicdevice of a traveler, who travels towards a destination point; (b)generating real-time hot-and-cold navigation data towards saiddestination point, by indicating to said traveler, via said electronicdevice, whether a current movement of said traveler (i) brings saidtraveler closer to said destination point or (ii) takes said travelerfurther away from said destination point; wherein said processcomprises: (A) analyzing user-specific data that is comprised in auser-profile of said traveler; (B) based on step (A), determining thatsaid traveler has a particular characteristic; (C) based on step (B),determining that a current trail that is hiked by said traveler, is atrail that is oriented towards travelers that have said particularcharacteristic; (D) tagging the current trail that is hiked by saidtraveler, as a trail that is oriented towards travelers that have saidparticular characteristic.
 12. A system comprising: one or more hardwareprocessors, configured to execute code that is stored in one or morememory units; wherein the one or more hardware processors are configuredto perform a process comprising: (a) receiving location data from anelectronic device of a traveler, who travels towards a destinationpoint; (b) generating real-time hot-and-cold navigation data towardssaid destination point, by indicating to said traveler, via saidelectronic device, whether a current movement of said traveler (i)brings said traveler closer to said destination point or (ii) takes saidtraveler further away from said destination point; wherein said processcomprises: (A) determining that said traveler is travelling along aparticular trail; (B) determining that said particular trail is orientedto travelers having a particular user-characteristic; (C) based on steps(A) and (B), determining that said traveler is a user that has saidparticular user-characteristic, and providing to said traveler aparticular content-item that is directed to users that have saidparticular user-characteristic.